Return more descriptive data from Fgarbage_collect.
authorDmitry Antipov <dmantipov@yandex.ru>
Wed, 18 Jul 2012 05:44:36 +0000 (09:44 +0400)
committerDmitry Antipov <dmantipov@yandex.ru>
Wed, 18 Jul 2012 05:44:36 +0000 (09:44 +0400)
commitc39a5fb8ebb7700d7e1e32043527145bfea734a7
treec6b20ab2bc78e1ad9213e693db499263f98e2a6a
parent78cc3be4316b5666edfcb7ad58b977ba53840579
Return more descriptive data from Fgarbage_collect.
Suggested by Stefan Monnier in
http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00369.html.
* src/alloc.c (bounded_number): New function.
(total_buffers, total_vectors): New variable.
(total_string_size): Rename to total_string_bytes, adjust users.
(total_vector_size): Rename to total_vector_bytes, adjust users.
(sweep_vectors): Account total_vectors and total_vector_bytes.
(Fgarbage_collect): New return value.  Adjust documentation.
(gc_sweep): Account total_buffers.
(Fmemory_free, Fmemory_use_counts): Use bounded_number.
(VECTOR_SIZE): Remove.
* src/data.c (Qfloat, Qvector, Qsymbol, Qstring, Qcons): Make global.
(Qinterval, Qmisc): New symbols.
(syms_of_data): Initialize them.
* src/lisp.h (Qinterval, Qsymbol, Qstring, Qmisc, Qvector, Qfloat)
(Qcons, Qbuffer): New declarations.
* lisp/emacs-lisp/chart.el (chart-emacs-storage): Change to
reflect new format of data returned by Fgarbage_collect.
lisp/ChangeLog
lisp/emacs-lisp/chart.el
src/ChangeLog
src/alloc.c
src/data.c
src/lisp.h